<HTML><HEAD><TITLE>reduced_cost_pruning(+Handle, ?GlobalCost)</TITLE>
</HEAD><BODY>[ <A HREF="index.html">library(eplex)</A> | <A HREF="../../index.html">Reference Manual</A> | <A HREF="../../fullindex.html">Alphabetic Index</A> ]
<H1>reduced_cost_pruning(+Handle, ?GlobalCost)</H1>
Prune bounds of all problem variables based on their reduced costs
<DL>
<DT><EM>Handle</EM></DT>
<DD>Handle to a (solved) solver state
</DD>
<DT><EM>GlobalCost</EM></DT>
<DD>Bounded global cost variable
</DD>
</DL>
<H2>Description</H2>

    <P>
    Handle is a problem handle referring to the linear relaxation of
    a more complex problem. GlobalCost is the overall cost variable
    of the complex problem.
    </P><P>
    This predicate tries to prune the bounds of all variables that
    occur in the linear relaxation, based on their reduced costs,
    the optimum of the relaxation, and the currently known bounds
    (lower if maximising, upper if minimising) on the global cost.
    </P><P>
    This predicate should be called just after the Handle has been solved.
    In particular, it can be used as the post-goal in an lp-demon.
    The solver should have been set up with the <TT>reduced_cost(yes)</TT>
    option.
    </P><P>
    Note that the bounds of GlobalCost is obtained using the generic
    get_var_bounds/3. For correct pruning, GlobalCost should only have
    bounds that are relevant to this problem. 


<H3>Fail Conditions</H3>
None
<H2>See Also</H2>
<A HREF="../../lib/eplex/lp_demon_setup-5.html">lp_demon_setup / 5</A>
</BODY></HTML>
